It is known in the prior art to have MPEG-encoded video, such as MPEG-2 encoded video. In order to provide some search mechanism, DVD video divides encoded video sequences into chapters. A user of a DVD system can move between chapters of a video program and can search by chapter, but the user cannot access a specific frame at a specific time within the program. Normally, in order to find a specific frame within an MPEG transport stream, the entire MPEG transport stream would need to be decoded and then a frame could be located that is associated with a specific playback time. Thus, the video would need to be completely rendered.
In the prior art, it is known to acquire telemetry data and to perform simultaneous aerial photography/videography. In order to be useful for map-based rendering, the telemetry data and the video images need to be synchronized. In common video acquisition systems, the MPEG video protocol and other video compression protocols are used. Because the frame data is compressed and not temporally indexed, exact time locations for each video frame can not be directly acquired as explained above. Thus, for useful real-time and substantially real-time systems, methods are needed for quickly locating video frames within a compressed video sequence associated with a specific media playback time, so that the video frames can be synchronized with acquired telemetry data for rendering the acquired video frame(s) on a map.
Data parsing is a well-known technical art. Parsing generally requires the creation of a parse tree where tokens i.e. predefined data words, are identified and placed into the parse tree. The parse tree can then be retraced to determine the syntax of the identified words. In real-time applications, where there is a large amount of streamed data that needs to be parsed and also synchronized, traditional parsing algorithms are not effective.